import G3xObj from './G3xObj';
import * as g3xUtils from "@g3x/utils";
import {
  autorun,
  reaction,
  intercept,
  extendObservable,
  computed
} from 'mobx';

/**
 * 具备guid的对象的基类
 * @description 具备guid，viewer等属性，从该对象派生，可感知对象的创建销毁等操作。
 * @class
 * @extends G3xObjBase
 */
class G3vObj extends G3xObj {

  constructor(viewer, options) {

    super(options);
    console.log("G3vObj constructor!")
    
    // this._g3vViewer = g3vViewer

    g3xUtils.g3x_defineReadonly(this, "viewer", viewer)
    g3xUtils.g3x_defineReadonly(this, "scene", viewer.scene)

    extendObservable(this, { isSelected: false, });
  }

  flyTo(options) {}
}

export default G3vObj;
export {
  G3vObj
};
